public interface PositionList{
  
  	public int size();
  	public boolean isEmpty();
  	public Position first();
  	public Position last();
   	public Position next(Position p)
    	throws InvalidPositionException, BoundaryViolationException;
   	public Position prev(Position p)
    	throws InvalidPositionException, BoundaryViolationException;
   	public void addFirst(Object o);
   	public void addLast(Object o);
   	public void addAfter(Position p, Object o)
    	throws InvalidPositionException;
  	public void addBefore(Position p, Object o)
    	throws InvalidPositionException;
   	public Object remove(Position p) throws InvalidPositionException;
	public Object set(Position p, Object o) throws InvalidPositionException;
}